#pragma once

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <assert.h>
#include <time.h>


typedef int HpDataType;
typedef struct Heap
{
	HpDataType* arr;
	int size;
	int capacity;
}Heap;

void HpInit(Heap* php);

void HpDesTory(Heap* php);

bool HpEmpty(Heap* php);

int HpSize(Heap* php);

void HpPush(Heap* php, HpDataType s);

void HpPop(Heap* php);

void AdjustUP(HpDataType* arr, int child);

void AdjustDown(HpDataType* arr, int parent, int n);

HpDataType HpTop(Heap* php);

void Swap(HpDataType* a, HpDataType* b);
